"""

爬取网页数据：
1.要不要登录才能访问
需要登录才能访问的话，要考虑用cookie或session来实现
2。get/post
get请求，需要知道请求url，请求头(User-Agent)
post请求 ：url,请求头(User-Agent),请求体数据(Form Date)
"""

import requests


def load_page(url, file_name):
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36"
    }
    html = requests.get(url, headers=headers)
    print(f'正在保存{file_name}')
    # 将爬取的内容html，写入文件
    with open(file_name, 'w', encoding='utf-8') as f:
        f.write(html.content.decode())


kw = input('请输入需要爬取的贴吧名：')
# 输入的内容都会被当做字符串，需要类型转换
begin_page = int(input('请输入起始页：'))
end_page = int(input('请输入结束页：'))
base_url = 'https://tieba.baidu.com/f?kw=' + kw
# print(url)
# 循环拼接起始页的完整url
# range（）：左闭右开，不包括结束位
for page in range(begin_page, end_page + 1):
    pn = (page - 1) * 50
    url = base_url + '&pn=' + str(pn)
    # print(url)
    # 拼接文件名
    file_name = '第' + str(page) + '页.html'
    # 假设有一个函数，给他url和文件名，他能帮我爬取url的内容保存在文件中
    load_page(url, file_name)
